Exemplary embodiments relate generally to the field of Next Generation Networks (“NGNs”), and more specifically, to preserving stable calls in NGNs during failover.
NGNs, such as those based on the Internet Protocol (“IP”) Multimedia Subsystem (“IMS”) architecture designed by the 3rd Generation Partnership Project (“3GPP”), utilize general purpose servers as call control processing equipment to support Voice over IP (“VoIP”). These general purpose servers typically communicate through communications networks by way of Session Initiation Protocol (“SIP”) over Transmission Control Protocol (“TCP”) or User Datagram Protocol (“UDP”). These general purpose servers are commonly referred to as primary call processors.
NGNs are conventionally implemented with high redundancy of the call control processing equipment. In particular, the primary call processors may be backed up by similarly configured standby call processors. When one of the primary call processors fails, control is passed to one of the standby call processors. Further, NGNs are typically implemented with separate paths of communication—a bearer path and a control path. The bearer path supports media transmissions, such as the transmission of audio, while the control path supports call signaling commands. If a call session has been established between two parties over the NGN and one of the primary call processors fails, control is passed to one of the standby call processors which establishes a new control path, while the established call session across the bearer path may continue uninterrupted.
By implementing separate bearer and control paths, established call sessions can be preserved even after a failure in one of the primary call processors. However, stable calls can be mistakenly and prematurely torn down if call state information is requested from the standby call processor and the requested call state information cannot be found. For example, call state information may be requested if a user initiates certain feature actions, such as a flash hook, or if a SIP session timer refresh is received from another call processor.
One way to ensure that the standby call processors contain the current call state information is to replicate all call state information contained in the primary call processors in real-time or near real-time. However, this approach suffers from a number of drawbacks. Replicating all call state information introduces major processing overhead for the primary call processors, the standby call processors, and the communications network. Thus, replicating all state information is generally impractical on large NGNs. Further, call state information can be lost during replication, especially across less reliable communications networks.